﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WCFFacturacionClient.ReferenciaServicioFacturacion;

namespace WCFFacturacionClient
{
    public partial class FormConsultaProductos : Form
    {

        public FormConsultaProductos()
        {
            InitializeComponent();
        }


        private void FormConsultaProductos_Load(object sender, EventArgs e)
        {
            ServicioFacturacionClient servicio = new ServicioFacturacionClient();

            try
            {
                this.GridViewproductos.DataSource = servicio.GetTodosLosProductos();
                this.LabelMensaje.Text = "Servicio en linea";
            }
            catch (Exception)
            {

                this.LabelMensaje.Text = "Problemas con el servicio";
            }
        }


        private void TxtNotas_TextChanged(object sender, EventArgs e)
        {

        }


        private void label1_Click(object sender, EventArgs e)
        {

        }


        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }


        private void LlenarCamposCondatosDelProducto(Producto producto)
        {
            if (producto == null)
            {
                this.LabelMensaje.Text = "No existe producto";
                return;
            }

            this.TxtDescripcion.Text = producto.Descripcion;
            this.txtStock.Text = Convert.ToString(producto.Stock);
            this.TxtPrecio.Text = Convert.ToString(producto.Precio);

            try
            {
                this.TxtNotas.Text = producto.Notas;
            }
            catch (Exception)
            {

                this.TxtNotas.Text = "[Sin notas]";
            }
        }


        private bool IdProductoEsUnNumero()
        {

            Boolean respuestaADevolver = false;
            try
            {
                int idProducto = Convert.ToInt32(this.TxtIdProducto.Text);
                respuestaADevolver = true;
            }
            catch (Exception)
            {

                respuestaADevolver = false;
            }

            return respuestaADevolver;
        }


        private void BtnConsultar_Click(object sender, EventArgs e)
        {

            if (!IdProductoEsUnNumero())
            {
                this.LabelMensaje.Text = "El Id producto debe ser numerico";
                return;
            }


            int idProducto = Convert.ToInt32(this.TxtIdProducto.Text);

            ServicioFacturacionClient servicio = new ServicioFacturacionClient();
            Producto produuctoBuscado = servicio.GetProductoConId(idProducto);

            LlenarCamposCondatosDelProducto(produuctoBuscado);

        }


       
       



      
        
    }
}
